Micron Document




SQL/JRT
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
SQL/JRT, or SQL Routines and Types for the Java Programming Language, is an extension to the SQL standard first published as ISO/IEC 9075-13:2002 (part 13 of SQL:1999). SQL/JRT specifies the ability to invoke static Java methods as routines from within SQL applications, commonly referred to as "Java stored procedures". SQL/JRT also calls for the ability to use Java classes as SQL structured user-defined types. The two parts of the extension originate from the earlier ANSI SQLJ part 1 and 2 standards (not to be confused with SQLJ part 0, which defined an embedding of SQL into Java, later standardized by ISO as SQL/OLB.)

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Example

SQL/JRT allows a Java function to be called from SQL code like this:cite-ref-hsqldbmanual-1-0[1]

CREATE FUNCTION sinh(v DOUBLE) RETURNS DOUBLE
LANGUAGE JAVA DETERMINISTIC NO SQL
EXTERNAL NAME 'CLASSPATH:java.lang.Math.sinh'
SELECT sinh(doublecolumn) FROM mytable

SQL/JRT also allows Java code to dynamically generate tables using a java.sql.ResultSet object. The result sets returned are converted to SQL tables and can be used anywhere a table or view can be used.cite-ref-hsqldbmanual-1-1[1]

Implementations

SQL/JRT stored procedures are implemented in HSQLDB.cite-ref-hsqldbmanual-1-2[1] Java stored procedures have also been implemented in Oracle's JServer (or Aurora JVM), which was introduced in the Oracle Database version 8i in 1999;cite-ref-lakshman2002-2-0[2]cite-ref-3[3] it is now called Oracle JVM.cite-ref-greenwaldstackowiak2008-4-0[4] IBM DB2 also supported Java stored procedures since about 1998, although using an external JVM (at that time).cite-ref-chamberlinchamberlin1998-5-0[5]

See also


References

cite-note-hsqldbmanual-11. HSQLDB manual
cite-note-lakshman2002-22. citerefbulusu-lakshman2002Bulusu Lakshman (2002). Oracle & Java Development. Sams Publishing. p. 6. ISBN 978-0-672-32117-7.
cite-note-33. The Aurora JVM and Its Components, Oracle Corp.
cite-note-greenwaldstackowiak2008-44. citerefrick-greenwaldrobert-stackowiakjonathan-stern2008Rick Greenwald; Robert Stackowiak; Jonathan Stern (2008). Oracle Essentials: Oracle Database 11g. O'Reilly Media, Inc. p. 323. ISBN 978-0-596-51454-9.
cite-note-chamberlinchamberlin1998-55. citerefdon-chamberlin1998Don Chamberlin (1998). A Complete Guide to DB2 Universal Database. Morgan Kaufmann. p. 565. ISBN 978-1-55860-482-7. Retrieved 16 November 2012.

External links

• SQL:2003 SQL/JRT draft
• SQL:2003 SQL Standard User Defined Types and Routines from the Farrago documentation